package com.linkai.pdd2020;

import java.util.Map;
import java.util.Scanner;

/**
 * @Description: 多多的魔术盒子
 *                思路：对每一组盒子，优先选择中间的那个数，有点类似于折半查找
 *                      如果共有奇数个盒子，则选完中间的盒子之后，就是对称的。
 *                      可以考虑用递归，因为数组的元素是连续递增的，选择中级元素之后，左右是对称的，考虑递归。
 * @Author: 林凯
 * @Date: 2021/10/9 9:25
 */
public class Main01 {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int T = sc.nextInt();
        long N[] = new long[T];     // 采用long类型
        for (int i = 0; i < T; i++) {
            N[i] = sc.nextLong();
        }

        for (int i = 0; i < T; i++) {
            System.out.println(calcute(N[i], 0));
        }
    }

    // T 表示改组盒子的长度
    public static int calcute(long T, int num) {
        long center = -1;        // 每次递归的时候都需要初始化中间值
        // 判断是奇数还是偶数
        if (T % 2 == 0) {   // 偶数
            center = T / 2;
            T = T - center;     // 新数组的长度（球减小之后的盒子长度）
            num++;
            return calcute(T, num);
        } else if (T % 2 != 0 && T != 1) {   // 奇数
            center = (T + 1) / 2;
            T = T - center;
            num++;
            return calcute(T, num);
        } else {
            num++;
            return num;
        }
    }

}
